// DMSpinButtonCtrl.h: interface for the CDMSpinButtonCtrl class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DMSPINBUTTONCTRL_H__119A6421_1533_4CF5_A326_C8FFB6866C5C__INCLUDED_)
#define AFX_DMSPINBUTTONCTRL_H__119A6421_1533_4CF5_A326_C8FFB6866C5C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BCGCBPro.h"
#include "NumSpinCtrl.h"
#include "geoprop.h"

class CDMSpinButtonCtrl : public CNumSpinCtrl
{
	// Construction
public:
	CDMSpinButtonCtrl(CGeoProp* pProp);
	BOOL BCGPTrackMouse (LPTRACKMOUSEEVENT ptme);

	// Attributes
protected:
	BOOL	m_bIsButtonPressedUp;
	BOOL	m_bIsButtonPressedDown;
	
	BOOL	m_bIsButtonHighligtedUp;
	BOOL	m_bIsButtonHighligtedDown;
	
	BOOL	m_bTracked;

	CGeoProp* m_pProp;
	
	// Operations
public:
	
	// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDMSpinButtonCtrl)
	//}}AFX_VIRTUAL
	virtual void OnDraw (CDC* pDC);
	
	// Implementation
public:
	virtual ~CDMSpinButtonCtrl();
	
	// Generated message map functions
protected:
	//{{AFX_MSG(CDMSpinButtonCtrl)
	afx_msg void OnPaint();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnCancelMode();
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	//}}AFX_MSG
	afx_msg LRESULT OnMouseLeave(WPARAM,LPARAM);
	afx_msg void VScroll (UINT nSBCode, UINT nPos);
	afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
	DECLARE_MESSAGE_MAP()
};


#endif // !defined(AFX_DMSPINBUTTONCTRL_H__119A6421_1533_4CF5_A326_C8FFB6866C5C__INCLUDED_)
